#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    void sortColors(vector<int>& nums) {
        int n = nums.size();
        int p0, p1; p0 = p1 = 0;
        for(int i=0; i<n && p0<n && p1<n; ++i){
            if(nums[i]==0){
                swap(nums[p0], nums[i]);
                if(nums[p0]!=nums[i]) --i;
                if(p0==p1) ++p1;
                ++p0;
            }
            else if(nums[i]==1){
                swap(nums[p1], nums[i]);
                if(nums[p1]!=nums[i]) --i;
                ++p1;
            }
        }
    }
};

int main(){

}